package com.ygqh.baby.service.wechat.model.good;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.List;

/**
 * 好物圈——物品详细信息
 *
 * @Author: sunshuo
 * @Date: 2019/5/21 11:02
 * @Version: 1.0
 */
public class GoodOrderItem implements Serializable {

	private static final long serialVersionUID = -3355009116629119162L;

	/**
	 * 物品id，要求appid下全局唯一		必填
	 */
	private String itemCode;

	/**
	 * sku_id		必填
	 */
	private String skuId;

	/**
	 * 物品数量		必填
	 */
	private long amount;

	/**
	 * 物品总价，单位：分		必填
	 */
	private long totalFee;

	/**
	 * 物品图片，图片宽度必须大于750px，宽高比建议4:3 - 1:1之间		必填
	 */
	private String thumbUrl;

	/**
	 * 物品名称		必填
	 */
	private String title;

	/**
	 * 物品详细描述		非必填
	 */
	private String desc;

	/**
	 * 物品单价（实际售价），单位：分		必填
	 */
	private long unitPrice;

	/**
	 * 物品原价，单位：分		必填
	 */
	private long originalPrice;

	/**
	 * 物品属性列表		非必填
	 */
	private List<GoodStockAttr> stockAttrInfo;

	/**
	 * 物品类目列表		必填
	 */
	private List<String> categoryList;

	/**
	 * 物品详情页（小程序页面）		必填
	 */
	private GoodItemDetailPage itemDetailPage;

	/**
	 * 物品能否被搜索（默认true可以被搜索）		非必填
	 */
	private boolean canBeSearch;

	/**
	 * 物品的条形码信息		非必填
	 */
	private GoodBarCode barCodeInfo;

	@JSONField(name = "item_code")
	public String getItemCode() {
		return itemCode;
	}

	public void setItemCode(String itemCode) {
		this.itemCode = itemCode;
	}

	@JSONField(name = "sku_id")
	public String getSkuId() {
		return skuId;
	}

	public void setSkuId(String skuId) {
		this.skuId = skuId;
	}

	@JSONField(name = "amount")
	public long getAmount() {
		return amount;
	}

	public void setAmount(long amount) {
		this.amount = amount;
	}

	@JSONField(name = "total_fee")
	public long getTotalFee() {
		return totalFee;
	}

	public void setTotalFee(long totalFee) {
		this.totalFee = totalFee;
	}

	@JSONField(name = "thumb_url")
	public String getThumbUrl() {
		return thumbUrl;
	}

	public void setThumbUrl(String thumbUrl) {
		this.thumbUrl = thumbUrl;
	}

	@JSONField(name = "title")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@JSONField(name = "desc")
	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	@JSONField(name = "unit_price")
	public long getUnitPrice() {
		return unitPrice;
	}

	public void setUnitPrice(long unitPrice) {
		this.unitPrice = unitPrice;
	}

	@JSONField(name = "original_price")
	public long getOriginalPrice() {
		return originalPrice;
	}

	public void setOriginalPrice(long originalPrice) {
		this.originalPrice = originalPrice;
	}

	@JSONField(name = "stock_attr_info")
	public List<GoodStockAttr> getStockAttrInfo() {
		return stockAttrInfo;
	}

	public void setStockAttrInfo(List<GoodStockAttr> stockAttrInfo) {
		this.stockAttrInfo = stockAttrInfo;
	}

	@JSONField(name = "category_list")
	public List<String> getCategoryList() {
		return categoryList;
	}

	public void setCategoryList(List<String> categoryList) {
		this.categoryList = categoryList;
	}

	@JSONField(name = "item_detail_page")
	public GoodItemDetailPage getItemDetailPage() {
		return itemDetailPage;
	}

	public void setItemDetailPage(GoodItemDetailPage itemDetailPage) {
		this.itemDetailPage = itemDetailPage;
	}

	@JSONField(name = "can_be_search")
	public boolean isCanBeSearch() {
		return canBeSearch;
	}

	public void setCanBeSearch(boolean canBeSearch) {
		this.canBeSearch = canBeSearch;
	}

	@JSONField(name = "bar_code_info")
	public GoodBarCode getBarCodeInfo() {
		return barCodeInfo;
	}

	public void setBarCodeInfo(GoodBarCode barCodeInfo) {
		this.barCodeInfo = barCodeInfo;
	}

	@Override
	public String toString() {
		return "GoodOrderItem{" +
				"itemCode='" + itemCode + '\'' +
				", skuId='" + skuId + '\'' +
				", amount=" + amount +
				", totalFee=" + totalFee +
				", thumbUrl='" + thumbUrl + '\'' +
				", title='" + title + '\'' +
				", desc='" + desc + '\'' +
				", unitPrice=" + unitPrice +
				", originalPrice=" + originalPrice +
				", stockAttrInfo=" + stockAttrInfo +
				", categoryList=" + categoryList +
				", itemDetailPage=" + itemDetailPage +
				", canBeSearch=" + canBeSearch +
				", barCodeInfo=" + barCodeInfo +
				'}';
	}
}
